Модуларна аритметика
Два цела броја a и b су конгруентна по модулу n ако дају исти остатак при дељењу са n, односно ако је њихова разлика a−b дељива са n.
Извршавање аритметичких операција по модулу n подразумева да се након примене операције одреди остатак при дељењу са бројем n. Важе следеће релације: (a+b)modn=(amodn + bmodn)modn(a⋅b)modn=(amodn ⋅ bmodn)modn(b−a)modn=(bmodn−amodn+n)modn
У пракси, ово је корисно у ситуацијама када збир a+b (односно производ a⋅b) може премашити максималну подржану вредност одговарајућег типа података.
Докажимо релацију о производу (она о збиру се доказује још једноставније). Подсетимо се да је xmody=r ако и само ако постоји q такав да је x=q⋅y+r и ако је 0≤r<y. Претпоставимо da je a=qa⋅n+ra и b=qb⋅n+rb за 0≤ra,rb<n. Тада важи да је a⋅b=(qa⋅n+ra)⋅(qb⋅n+rb)=(qa⋅qb⋅n+qa⋅rb+ra⋅qb)n+ra⋅rb. Ако важи да је ra⋅rb=q⋅n+r за 0≤r<n, тада је a⋅b=(qa⋅qb⋅n+qa⋅rb+ra⋅qb+q)n+r, па је (a⋅b)modn=r. Важи да је (amodn ⋅ b mod n)modn=(ra⋅rb)modn=r, чиме је тврђење доказано.
Докажимо релацију о разлици. Додавање броја n служи да се избегне дељење негативних бројева. Подсетимо се да је xmody=r ако и само ако постоји q такав да је x=q⋅y+r и ако је 0≤r<y. Нека је a=qa⋅n+ra и b=qb⋅n+rb, za 0≤ra,rb<n. Зато је amodn=ra и bmodn=rb. Нека је rb−ra+n=q⋅n+r за неко 0≤r<n. Зато је (amodn−bmodn+n)modn=(rb−ra+n)mod n=r. Такође, важи и да је b−a=(qb−qa)⋅n+(rb−ra)=(qb−qa−1)⋅n+(rb−ra+n)=(qb−qa−1+q)⋅n+r, па је и (b−a)modn=r, чиме је тврђење доказано.
У наставку ћемо приказати неколико задатака у којима се примењује модуларна аритметика.